<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>IDA SDK: Tracing events</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">IDA SDK
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="files.html"><span>Header&#160;Files</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Tracing events<div class="ingroups"><a class="el" href="group__dbg__funcs.html">Debugger functions</a> &raquo; <a class="el" href="group__dbg__funcs__tracing.html">Tracing</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtev__info__t.html">tev_info_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common information for all trace events.  <a href="structtev__info__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmemreg__info__t.html">memreg_info_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Required typedef for <a class="el" href="group__dbg__funcs__trcev.html#ga1cbec1a642e3a23c95daece4ce8a57e5" title="Read the memory pointed by register values from an instruction trace event. ">get_insn_tev_reg_mem()</a>  <a href="structmemreg__info__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtev__reg__value__t.html">tev_reg_value_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure used for <a class="el" href="group__dbg__funcs__trcev.html#gaa83545843c1e27d946fb6ae59a73989d" title="Add many new trace elements to the current trace. ">dbg_add_many_tevs()</a>  <a href="structtev__reg__value__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtev__info__reg__t.html">tev_info_reg_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure used for <a class="el" href="group__dbg__funcs__trcev.html#gaa83545843c1e27d946fb6ae59a73989d" title="Add many new trace elements to the current trace. ">dbg_add_many_tevs()</a>  <a href="structtev__info__reg__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga78aea8e7f9564921ac03f32b5e984e40"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga78aea8e7f9564921ac03f32b5e984e40"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="structdebug__event__t.html">debug_event_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga78aea8e7f9564921ac03f32b5e984e40">dbgevt_vec_t</a></td></tr>
<tr class="memdesc:ga78aea8e7f9564921ac03f32b5e984e40"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of debug events <br /></td></tr>
<tr class="separator:ga78aea8e7f9564921ac03f32b5e984e40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga543544c00e9b91c88bafc2f4c122e577"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga543544c00e9b91c88bafc2f4c122e577"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="structtev__info__t.html">tev_info_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga543544c00e9b91c88bafc2f4c122e577">tevinfo_vec_t</a></td></tr>
<tr class="memdesc:ga543544c00e9b91c88bafc2f4c122e577"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of trace event info objects <br /></td></tr>
<tr class="separator:ga543544c00e9b91c88bafc2f4c122e577"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6710c026f049624651faeae52a1c7b68"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6710c026f049624651faeae52a1c7b68"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="structmemreg__info__t.html">memreg_info_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>memreg_infos_t</b></td></tr>
<tr class="separator:ga6710c026f049624651faeae52a1c7b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd88d1be78846cdf464b0c3128879797"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabd88d1be78846cdf464b0c3128879797"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="structtev__reg__value__t.html">tev_reg_value_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#gabd88d1be78846cdf464b0c3128879797">tev_reg_values_t</a></td></tr>
<tr class="memdesc:gabd88d1be78846cdf464b0c3128879797"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of trace event reg values <br /></td></tr>
<tr class="separator:gabd88d1be78846cdf464b0c3128879797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1aac51a9d41aa20762406c15a214e447"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1aac51a9d41aa20762406c15a214e447"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="structtev__info__reg__t.html">tev_info_reg_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga1aac51a9d41aa20762406c15a214e447">tevinforeg_vec_t</a></td></tr>
<tr class="memdesc:ga1aac51a9d41aa20762406c15a214e447"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of trace elements <br /></td></tr>
<tr class="separator:ga1aac51a9d41aa20762406c15a214e447"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga819324166f57b690cbd7a40dbb7de307"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga819324166f57b690cbd7a40dbb7de307">tev_type_t</a> { <br />
&#160;&#160;<a class="el" href="group__dbg__funcs__trcev.html#gga819324166f57b690cbd7a40dbb7de307a6380eeed850683408ef3422b8be8d575">tev_none</a> = 0, 
<a class="el" href="group__dbg__funcs__trcev.html#gga819324166f57b690cbd7a40dbb7de307a1a318d1a876f3dd72b7c9702e02493b0">tev_insn</a>, 
<a class="el" href="group__dbg__funcs__trcev.html#gga819324166f57b690cbd7a40dbb7de307a6d68680e982ffa4b7b507fd5236e9486">tev_call</a>, 
<a class="el" href="group__dbg__funcs__trcev.html#gga819324166f57b690cbd7a40dbb7de307afdada038571f1bfe3fbba4db219a9763">tev_ret</a>, 
<br />
&#160;&#160;<a class="el" href="group__dbg__funcs__trcev.html#gga819324166f57b690cbd7a40dbb7de307a1dd60043f2b305b0ba68236e18050075">tev_bpt</a>, 
<a class="el" href="group__dbg__funcs__trcev.html#gga819324166f57b690cbd7a40dbb7de307aaf6dc5b980bbf8cde17ba529bbd4f599">tev_mem</a>, 
<a class="el" href="group__dbg__funcs__trcev.html#gga819324166f57b690cbd7a40dbb7de307ad6f2240959687bf7e296a0b48ca4157b">tev_event</a>, 
<a class="el" href="group__dbg__funcs__trcev.html#gga819324166f57b690cbd7a40dbb7de307a0da66864bfe77a912954a3ecf6edb56d">tev_max</a>
<br />
 }</td></tr>
<tr class="memdesc:ga819324166f57b690cbd7a40dbb7de307"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trace event types.  <a href="group__dbg__funcs__trcev.html#ga819324166f57b690cbd7a40dbb7de307">More...</a><br /></td></tr>
<tr class="separator:ga819324166f57b690cbd7a40dbb7de307"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95e0ece6b20c3fab568ab04e194c4600"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga95e0ece6b20c3fab568ab04e194c4600"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga95e0ece6b20c3fab568ab04e194c4600">save_reg_values_t</a> { <b>SAVE_ALL_VALUES</b> = 0, 
<b>SAVE_DIFF</b>, 
<b>SAVE_NONE</b>
 }</td></tr>
<tr class="memdesc:ga95e0ece6b20c3fab568ab04e194c4600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Se <a class="el" href="group__dbg__funcs__trcev.html#gad4eeafc5d64284ca253a92a82a389423" title="Add a new instruction trace element to the current trace. ">dbg_add_insn_tev()</a> <br /></td></tr>
<tr class="separator:ga95e0ece6b20c3fab568ab04e194c4600"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga4374907209c5c23b15c651b54eac9c09"><td class="memItemLeft" align="right" valign="top">int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga4374907209c5c23b15c651b54eac9c09">get_tev_qty</a> (void)</td></tr>
<tr class="memdesc:ga4374907209c5c23b15c651b54eac9c09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of trace events available in trace buffer.  <a href="#ga4374907209c5c23b15c651b54eac9c09">More...</a><br /></td></tr>
<tr class="separator:ga4374907209c5c23b15c651b54eac9c09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1f5394734d03edbfc0af021bdf4a986"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#gad1f5394734d03edbfc0af021bdf4a986">get_tev_info</a> (int n, <a class="el" href="structtev__info__t.html">tev_info_t</a> *tev_info)</td></tr>
<tr class="memdesc:gad1f5394734d03edbfc0af021bdf4a986"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get main information about a trace event.  <a href="#gad1f5394734d03edbfc0af021bdf4a986">More...</a><br /></td></tr>
<tr class="separator:gad1f5394734d03edbfc0af021bdf4a986"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8561227ca324ff5c90a427138d421e41"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga8561227ca324ff5c90a427138d421e41">get_insn_tev_reg_val</a> (int n, const char *regname, <a class="el" href="structregval__t.html">regval_t</a> *regval)</td></tr>
<tr class="memdesc:ga8561227ca324ff5c90a427138d421e41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a register value from an instruction trace event.  <a href="#ga8561227ca324ff5c90a427138d421e41">More...</a><br /></td></tr>
<tr class="separator:ga8561227ca324ff5c90a427138d421e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1cbec1a642e3a23c95daece4ce8a57e5"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga1cbec1a642e3a23c95daece4ce8a57e5">get_insn_tev_reg_mem</a> (int n, <a class="el" href="classqvector.html">memreg_infos_t</a> *memmap)</td></tr>
<tr class="memdesc:ga1cbec1a642e3a23c95daece4ce8a57e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the memory pointed by register values from an instruction trace event.  <a href="#ga1cbec1a642e3a23c95daece4ce8a57e5">More...</a><br /></td></tr>
<tr class="separator:ga1cbec1a642e3a23c95daece4ce8a57e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e50399c8b83bb3e2c1d80b4d50860bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0e50399c8b83bb3e2c1d80b4d50860bb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>get_insn_tev_reg_val</b> (int n, const char *regname, <a class="el" href="pro_8h.html#a2f5563986d7f95e4fad5876c17d9cdda">uint64</a> *ival)</td></tr>
<tr class="separator:ga0e50399c8b83bb3e2c1d80b4d50860bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0eefdbe6c217f2373142a04b7d3de30a"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga0eefdbe6c217f2373142a04b7d3de30a">get_insn_tev_reg_result</a> (int n, const char *regname, <a class="el" href="structregval__t.html">regval_t</a> *regval)</td></tr>
<tr class="memdesc:ga0eefdbe6c217f2373142a04b7d3de30a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the resulting register value from an instruction trace event.  <a href="#ga0eefdbe6c217f2373142a04b7d3de30a">More...</a><br /></td></tr>
<tr class="separator:ga0eefdbe6c217f2373142a04b7d3de30a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0de1bea97d7467856a5a2341bfbf2714"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0de1bea97d7467856a5a2341bfbf2714"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>get_insn_tev_reg_result</b> (int n, const char *regname, <a class="el" href="pro_8h.html#a2f5563986d7f95e4fad5876c17d9cdda">uint64</a> *ival)</td></tr>
<tr class="separator:ga0de1bea97d7467856a5a2341bfbf2714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe4e714d4e7cca1c78a12bf89f933d1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#gafe4e714d4e7cca1c78a12bf89f933d1b">get_call_tev_callee</a> (int n)</td></tr>
<tr class="memdesc:gafe4e714d4e7cca1c78a12bf89f933d1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the called function from a function call trace event.  <a href="#gafe4e714d4e7cca1c78a12bf89f933d1b">More...</a><br /></td></tr>
<tr class="separator:gafe4e714d4e7cca1c78a12bf89f933d1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa99f4bbc523b045d58e80c10d61c5e2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#gaa99f4bbc523b045d58e80c10d61c5e2f">get_ret_tev_return</a> (int n)</td></tr>
<tr class="memdesc:gaa99f4bbc523b045d58e80c10d61c5e2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the return address from a function return trace event.  <a href="#gaa99f4bbc523b045d58e80c10d61c5e2f">More...</a><br /></td></tr>
<tr class="separator:gaa99f4bbc523b045d58e80c10d61c5e2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga961c0e4bcaf9cd6f1c8520cbbe960347"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga961c0e4bcaf9cd6f1c8520cbbe960347">get_bpt_tev_ea</a> (int n)</td></tr>
<tr class="memdesc:ga961c0e4bcaf9cd6f1c8520cbbe960347"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the address associated to a read, read/write or execution trace event.  <a href="#ga961c0e4bcaf9cd6f1c8520cbbe960347">More...</a><br /></td></tr>
<tr class="separator:ga961c0e4bcaf9cd6f1c8520cbbe960347"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf32fdf18a16db448767f6c568828020"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#gadf32fdf18a16db448767f6c568828020">get_tev_memory_info</a> (int n, <a class="el" href="idd_8hpp.html#ab53dc5825c9fb9e10963d2f321721169">meminfo_vec_t</a> *mi)</td></tr>
<tr class="memdesc:gadf32fdf18a16db448767f6c568828020"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the memory layout, if any, for the specified tev object.  <a href="#gadf32fdf18a16db448767f6c568828020">More...</a><br /></td></tr>
<tr class="separator:gadf32fdf18a16db448767f6c568828020"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga611263ead6eccb7acdcb8ebce9c623b3"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga611263ead6eccb7acdcb8ebce9c623b3">get_tev_event</a> (int n, <a class="el" href="structdebug__event__t.html">debug_event_t</a> *d)</td></tr>
<tr class="memdesc:ga611263ead6eccb7acdcb8ebce9c623b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the corresponding debug event, if any, for the specified tev object.  <a href="#ga611263ead6eccb7acdcb8ebce9c623b3">More...</a><br /></td></tr>
<tr class="separator:ga611263ead6eccb7acdcb8ebce9c623b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88d62978ab2ca7cda8e43c9fa6dbd4d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga88d62978ab2ca7cda8e43c9fa6dbd4d8">get_trace_base_address</a> (void)</td></tr>
<tr class="memdesc:ga88d62978ab2ca7cda8e43c9fa6dbd4d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the base address of the current trace.  <a href="#ga88d62978ab2ca7cda8e43c9fa6dbd4d8">More...</a><br /></td></tr>
<tr class="separator:ga88d62978ab2ca7cda8e43c9fa6dbd4d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga684ffc8e5434c8bcc196450ba557aea1"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga684ffc8e5434c8bcc196450ba557aea1">set_trace_base_address</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea)</td></tr>
<tr class="memdesc:ga684ffc8e5434c8bcc196450ba557aea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the base address of the current trace.  <a href="#ga684ffc8e5434c8bcc196450ba557aea1">More...</a><br /></td></tr>
<tr class="separator:ga684ffc8e5434c8bcc196450ba557aea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f39409d4d3cb25011cc2a42f418efe6"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga5f39409d4d3cb25011cc2a42f418efe6">dbg_add_thread</a> (<a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a> tid)</td></tr>
<tr class="memdesc:ga5f39409d4d3cb25011cc2a42f418efe6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a thread to the current trace.  <a href="#ga5f39409d4d3cb25011cc2a42f418efe6">More...</a><br /></td></tr>
<tr class="separator:ga5f39409d4d3cb25011cc2a42f418efe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9236f91706548dc3517e3778f935dc7b"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga9236f91706548dc3517e3778f935dc7b">dbg_del_thread</a> (<a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a> tid)</td></tr>
<tr class="memdesc:ga9236f91706548dc3517e3778f935dc7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a thread from the current trace.  <a href="#ga9236f91706548dc3517e3778f935dc7b">More...</a><br /></td></tr>
<tr class="separator:ga9236f91706548dc3517e3778f935dc7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga81e7138f4073c10a25f7c7f2ebee3120"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga81e7138f4073c10a25f7c7f2ebee3120">dbg_add_tev</a> (<a class="el" href="group__dbg__funcs__trcev.html#ga819324166f57b690cbd7a40dbb7de307">tev_type_t</a> type, <a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a> tid, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> address)</td></tr>
<tr class="memdesc:ga81e7138f4073c10a25f7c7f2ebee3120"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new trace element to the current trace.  <a href="#ga81e7138f4073c10a25f7c7f2ebee3120">More...</a><br /></td></tr>
<tr class="separator:ga81e7138f4073c10a25f7c7f2ebee3120"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa83545843c1e27d946fb6ae59a73989d"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#gaa83545843c1e27d946fb6ae59a73989d">dbg_add_many_tevs</a> (<a class="el" href="group__dbg__funcs__trcev.html#ga1aac51a9d41aa20762406c15a214e447">tevinforeg_vec_t</a> *new_tevs)</td></tr>
<tr class="memdesc:gaa83545843c1e27d946fb6ae59a73989d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add many new trace elements to the current trace.  <a href="#gaa83545843c1e27d946fb6ae59a73989d">More...</a><br /></td></tr>
<tr class="separator:gaa83545843c1e27d946fb6ae59a73989d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad4eeafc5d64284ca253a92a82a389423"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#gad4eeafc5d64284ca253a92a82a389423">dbg_add_insn_tev</a> (<a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a> tid, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="group__dbg__funcs__trcev.html#ga95e0ece6b20c3fab568ab04e194c4600">save_reg_values_t</a> save=SAVE_DIFF)</td></tr>
<tr class="memdesc:gad4eeafc5d64284ca253a92a82a389423"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new instruction trace element to the current trace.  <a href="#gad4eeafc5d64284ca253a92a82a389423">More...</a><br /></td></tr>
<tr class="separator:gad4eeafc5d64284ca253a92a82a389423"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a00763a7adff1ba951c69f1b7286526"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga7a00763a7adff1ba951c69f1b7286526">dbg_add_bpt_tev</a> (<a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a> tid, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> bp)</td></tr>
<tr class="memdesc:ga7a00763a7adff1ba951c69f1b7286526"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new breakpoint trace element to the current trace.  <a href="#ga7a00763a7adff1ba951c69f1b7286526">More...</a><br /></td></tr>
<tr class="separator:ga7a00763a7adff1ba951c69f1b7286526"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8832fd477423f2cdf6c6772a925ab47"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#gad8832fd477423f2cdf6c6772a925ab47">dbg_add_call_tev</a> (<a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a> tid, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> caller, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> callee)</td></tr>
<tr class="memdesc:gad8832fd477423f2cdf6c6772a925ab47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new call trace element to the current trace.  <a href="#gad8832fd477423f2cdf6c6772a925ab47">More...</a><br /></td></tr>
<tr class="separator:gad8832fd477423f2cdf6c6772a925ab47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6c466472d3fb5e8b0aed976900b233d"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#gae6c466472d3fb5e8b0aed976900b233d">dbg_add_ret_tev</a> (<a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a> tid, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ret_insn, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> return_to)</td></tr>
<tr class="memdesc:gae6c466472d3fb5e8b0aed976900b233d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new return trace element to the current trace.  <a href="#gae6c466472d3fb5e8b0aed976900b233d">More...</a><br /></td></tr>
<tr class="separator:gae6c466472d3fb5e8b0aed976900b233d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8955a9ddb50e9b6d55975ff506bfcef8"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dbg__funcs__trcev.html#ga8955a9ddb50e9b6d55975ff506bfcef8">dbg_add_debug_event</a> (<a class="el" href="structdebug__event__t.html">debug_event_t</a> *event)</td></tr>
<tr class="memdesc:ga8955a9ddb50e9b6d55975ff506bfcef8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new debug event to the current trace.  <a href="#ga8955a9ddb50e9b6d55975ff506bfcef8">More...</a><br /></td></tr>
<tr class="separator:ga8955a9ddb50e9b6d55975ff506bfcef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga819324166f57b690cbd7a40dbb7de307"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__dbg__funcs__trcev.html#ga819324166f57b690cbd7a40dbb7de307">tev_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Trace event types. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga819324166f57b690cbd7a40dbb7de307a6380eeed850683408ef3422b8be8d575"></a>tev_none&#160;</td><td class="fielddoc">
<p>no event </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga819324166f57b690cbd7a40dbb7de307a1a318d1a876f3dd72b7c9702e02493b0"></a>tev_insn&#160;</td><td class="fielddoc">
<p>an instruction trace </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga819324166f57b690cbd7a40dbb7de307a6d68680e982ffa4b7b507fd5236e9486"></a>tev_call&#160;</td><td class="fielddoc">
<p>a function call trace </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga819324166f57b690cbd7a40dbb7de307afdada038571f1bfe3fbba4db219a9763"></a>tev_ret&#160;</td><td class="fielddoc">
<p>a function return trace </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga819324166f57b690cbd7a40dbb7de307a1dd60043f2b305b0ba68236e18050075"></a>tev_bpt&#160;</td><td class="fielddoc">
<p>write, read/write, execution trace </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga819324166f57b690cbd7a40dbb7de307aaf6dc5b980bbf8cde17ba529bbd4f599"></a>tev_mem&#160;</td><td class="fielddoc">
<p>memory layout changed </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga819324166f57b690cbd7a40dbb7de307ad6f2240959687bf7e296a0b48ca4157b"></a>tev_event&#160;</td><td class="fielddoc">
<p>debug event occurred </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga819324166f57b690cbd7a40dbb7de307a0da66864bfe77a912954a3ecf6edb56d"></a>tev_max&#160;</td><td class="fielddoc">
<p>first unused event type </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga4374907209c5c23b15c651b54eac9c09"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_tev_qty </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get number of trace events available in trace buffer. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>

</div>
</div>
<a class="anchor" id="gad1f5394734d03edbfc0af021bdf4a986"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_tev_info </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structtev__info__t.html">tev_info_t</a> *&#160;</td>
          <td class="paramname"><em>tev_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get main information about a trace event. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">n</td><td>number of trace event, is in range 0..<a class="el" href="group__dbg__funcs__bpts.html#ga9cce72aa8f310ddc84ac1f678f59e8c6" title="Get number of breakpoints. ">get_bpt_qty()</a>-1. 0 represents the latest added trace event. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">tev_info</td><td>result </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="ga8561227ca324ff5c90a427138d421e41"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_insn_tev_reg_val </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>regname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structregval__t.html">regval_t</a> *&#160;</td>
          <td class="paramname"><em>regval</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read a register value from an instruction trace event. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">n</td><td>number of trace event, is in range 0..<a class="el" href="group__dbg__funcs__bpts.html#ga9cce72aa8f310ddc84ac1f678f59e8c6" title="Get number of breakpoints. ">get_bpt_qty()</a>-1. 0 represents the latest added trace event. </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">regname</td><td>name of desired register </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">regval</td><td>result </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if not an instruction event. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>This is the value of the register before the execution of the instruction. </dd></dl>

</div>
</div>
<a class="anchor" id="ga1cbec1a642e3a23c95daece4ce8a57e5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_insn_tev_reg_mem </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classqvector.html">memreg_infos_t</a> *&#160;</td>
          <td class="paramname"><em>memmap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read the memory pointed by register values from an instruction trace event. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">n</td><td>number of trace event, is in range 0..<a class="el" href="group__dbg__funcs__bpts.html#ga9cce72aa8f310ddc84ac1f678f59e8c6" title="Get number of breakpoints. ">get_bpt_qty()</a>-1. 0 represents the latest added trace event. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">memmap</td><td>result </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if not an instruction event or no memory is available </dd></dl>

</div>
</div>
<a class="anchor" id="ga0eefdbe6c217f2373142a04b7d3de30a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_insn_tev_reg_result </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>regname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structregval__t.html">regval_t</a> *&#160;</td>
          <td class="paramname"><em>regval</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read the resulting register value from an instruction trace event. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">n</td><td>number of trace event, is in range 0..<a class="el" href="group__dbg__funcs__bpts.html#ga9cce72aa8f310ddc84ac1f678f59e8c6" title="Get number of breakpoints. ">get_bpt_qty()</a>-1. 0 represents the latest added trace event. </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">regname</td><td>name of desired register </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">regval</td><td>result </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if not an instruction trace event or register wasn't modified. </dd></dl>

</div>
</div>
<a class="anchor" id="gafe4e714d4e7cca1c78a12bf89f933d1b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_call_tev_callee </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the called function from a function call trace event. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>number of trace event, is in range 0..<a class="el" href="group__dbg__funcs__bpts.html#ga9cce72aa8f310ddc84ac1f678f59e8c6" title="Get number of breakpoints. ">get_bpt_qty()</a>-1. 0 represents the latest added trace event. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a> if not a function call event. </dd></dl>

</div>
</div>
<a class="anchor" id="gaa99f4bbc523b045d58e80c10d61c5e2f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_ret_tev_return </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the return address from a function return trace event. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>number of trace event, is in range 0..<a class="el" href="group__dbg__funcs__bpts.html#ga9cce72aa8f310ddc84ac1f678f59e8c6" title="Get number of breakpoints. ">get_bpt_qty()</a>-1. 0 represents the latest added trace event. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a> if not a function return event. </dd></dl>

</div>
</div>
<a class="anchor" id="ga961c0e4bcaf9cd6f1c8520cbbe960347"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_bpt_tev_ea </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the address associated to a read, read/write or execution trace event. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>number of trace event, is in range 0..<a class="el" href="group__dbg__funcs__bpts.html#ga9cce72aa8f310ddc84ac1f678f59e8c6" title="Get number of breakpoints. ">get_bpt_qty()</a>-1. 0 represents the latest added trace event. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a> if not a read, read/write or execution trace event. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Usually, a breakpoint is associated with a read, read/write or execution trace event. However, the returned address could be any address in the range of this breakpoint. If the breakpoint was deleted after the trace event, the address no longer corresponds to a valid breakpoint. </dd></dl>

</div>
</div>
<a class="anchor" id="gadf32fdf18a16db448767f6c568828020"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_tev_memory_info </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="idd_8hpp.html#ab53dc5825c9fb9e10963d2f321721169">meminfo_vec_t</a> *&#160;</td>
          <td class="paramname"><em>mi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the memory layout, if any, for the specified tev object. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">n</td><td>number of trace event, is in range 0..<a class="el" href="group__dbg__funcs__bpts.html#ga9cce72aa8f310ddc84ac1f678f59e8c6" title="Get number of breakpoints. ">get_bpt_qty()</a>-1. 0 represents the latest added trace event. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">mi</td><td>result </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if the tev_t object is not of type <a class="el" href="group__dbg__funcs__trcev.html#gga819324166f57b690cbd7a40dbb7de307aaf6dc5b980bbf8cde17ba529bbd4f599" title="memory layout changed ">tev_mem</a>, true otherwise, with the new memory layout in "mi". </dd></dl>

</div>
</div>
<a class="anchor" id="ga611263ead6eccb7acdcb8ebce9c623b3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_tev_event </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structdebug__event__t.html">debug_event_t</a> *&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the corresponding debug event, if any, for the specified tev object. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">n</td><td>number of trace event, is in range 0..<a class="el" href="group__dbg__funcs__bpts.html#ga9cce72aa8f310ddc84ac1f678f59e8c6" title="Get number of breakpoints. ">get_bpt_qty()</a>-1. 0 represents the latest added trace event. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">d</td><td>result </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if the tev_t object doesn't have any associated debug event, true otherwise, with the debug event in "d". </dd></dl>

</div>
</div>
<a class="anchor" id="ga88d62978ab2ca7cda8e43c9fa6dbd4d8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> get_trace_base_address </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the base address of the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="section return"><dt>Returns</dt><dd>the base address of the currently loaded trace </dd></dl>

</div>
</div>
<a class="anchor" id="ga684ffc8e5434c8bcc196450ba557aea1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> set_trace_base_address </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the base address of the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga5f39409d4d3cb25011cc2a42f418efe6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> dbg_add_thread </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a>&#160;</td>
          <td class="paramname"><em>tid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a thread to the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga9236f91706548dc3517e3778f935dc7b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> dbg_del_thread </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a>&#160;</td>
          <td class="paramname"><em>tid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete a thread from the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga81e7138f4073c10a25f7c7f2ebee3120"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> dbg_add_tev </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__dbg__funcs__trcev.html#ga819324166f57b690cbd7a40dbb7de307">tev_type_t</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a>&#160;</td>
          <td class="paramname"><em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a new trace element to the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>

</div>
</div>
<a class="anchor" id="gaa83545843c1e27d946fb6ae59a73989d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> dbg_add_many_tevs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__dbg__funcs__trcev.html#ga1aac51a9d41aa20762406c15a214e447">tevinforeg_vec_t</a> *&#160;</td>
          <td class="paramname"><em>new_tevs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add many new trace elements to the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="section return"><dt>Returns</dt><dd>false if the operation failed for any <a class="el" href="structtev__info__t.html" title="Common information for all trace events. ">tev_info_t</a> object </dd></dl>

</div>
</div>
<a class="anchor" id="gad4eeafc5d64284ca253a92a82a389423"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> dbg_add_insn_tev </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a>&#160;</td>
          <td class="paramname"><em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__dbg__funcs__trcev.html#ga95e0ece6b20c3fab568ab04e194c4600">save_reg_values_t</a>&#160;</td>
          <td class="paramname"><em>save</em> = <code>SAVE_DIFF</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a new instruction trace element to the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="section return"><dt>Returns</dt><dd>false if the operation failed, true otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ga7a00763a7adff1ba951c69f1b7286526"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> dbg_add_bpt_tev </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a>&#160;</td>
          <td class="paramname"><em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>bp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a new breakpoint trace element to the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>
<dl class="section return"><dt>Returns</dt><dd>false if the operation failed, true otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="gad8832fd477423f2cdf6c6772a925ab47"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> dbg_add_call_tev </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a>&#160;</td>
          <td class="paramname"><em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>caller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>callee</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a new call trace element to the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>

</div>
</div>
<a class="anchor" id="gae6c466472d3fb5e8b0aed976900b233d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> dbg_add_ret_tev </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="idd_8hpp.html#a479b4266d280e0d77b7ca914dec19122">thid_t</a>&#160;</td>
          <td class="paramname"><em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ret_insn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>return_to</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a new return trace element to the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga8955a9ddb50e9b6d55975ff506bfcef8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> dbg_add_debug_event </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdebug__event__t.html">debug_event_t</a> *&#160;</td>
          <td class="paramname"><em>event</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a new debug event to the current trace. </p>
<table class="doxtable">
<tr>
<td>Type</td><td>Synchronous function </td></tr>
<tr>
<td>Notification</td><td>none (synchronous function) </td></tr>
</table>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
